Stop capturing output of all dependencies
authorAlex Crichton <alex@alexcrichton.com>
Sun, 21 Sep 2014 17:22:46 +0000 (10:22 -0700)
committerAlex Crichton <alex@alexcrichton.com>
Sun, 21 Sep 2014 21:06:58 +0000 (14:06 -0700)
commit541a535f712092e37e0ac12e545cc56f7709d305
tree2550f17acbe86845d2a2fbd48a782835625e9ec0
parent275c97c8b0da71337fd4d62d43986d560a385aca
Stop capturing output of all dependencies

There are some competing concerns when it comes to the output of compiling
dependencies:

* Not capturing anything leads to getting drowned in unrelated output
* Capturing requires coloration be compromised because of the way windows
  terminal colors are implemented.
* Path dependencies are often developed in tandem with the rest of a package,
  and capturing their output is not always desired.

To address these concerns, cargo previously captured output of dependent
compilations and then re-printed it to the screen if an error occurred. This
patch modifies the behavior to as follows:

* No output is captured. This preserves any coloration rustc provides.
* All dependencies are compiled with `-Awarnings`. This should suppress any
  extraneous output from the compiler and it is considered a bug otherwise if
  the compiler prints a warnings when `-Awarnings` is specified.
* All *path* dependencies (`path="..."`, overrides, etc) are *not* compiled with
  `-Awarnings`. The reason for this is that you are always in control of these
  packages and probably want to see warnings anyway.

Closes #490
Closes #496
.travis.install.deps.sh
src/cargo/ops/cargo_rustc/mod.rs
tests/test_cargo_compile.rs
tests/test_cargo_compile_git_deps.rs